<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>第 13 题</title>
    <script type="text/javascript">
        /*
            13、数组转对象；
                ['a','a','a','b','b','c','c','c','c','d','d','d','d'] 
            =>（转换为：）
            {
                a: 3,
                b: 2,
                c: 4,
                d: 4
            }
        */

        // 新建一个数组
        var oArr = ['a', 'a', 'a', 'b', 'b', 'c', 'c', 'c', 'c', 'd', 'd', 'd', 'd'];

        // 新建一个数组记录每项的出现次数
        var oArr1 = [];
        // 循环
        for (a = 0; a <= oArr.length - 1; a++) {
            // 新建一个计数器
            var oNum = 0;
            // 遍历每项
            for (var b = a + 1; b <= oArr.length - 1; b++) {
                // 判断是否重复
                if (oArr[a] === oArr[b]) {
                    // 删除当前的值
                    oArr.splice(b, 1);
                    // 删除后原数组下标前移
                    b--;
                    // 每次删除时累加
                    oNum++;
                }
            }
            // oArr1 数组 = 每项剩余一个 + 删除的次数
            oArr1.push(oNum + 1)
        }

        // 新建一个对象
        var oObj = new Object();

        // 遍历数组并填入对象中
        for (var oS = 0; oS < oArr.length; oS++) {
            oObj[oArr[oS]] = oArr1[oS];
        }

        // 后台输出
        console.log(oObj);
    </script>
</head>

<body>

</body>

</html>